package cn.iocoder.yudao.module.system.dal.dataobject.dept;

import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author wyl
 * @date 2025/4/24
 * @des
 */
@Data
public class DeptTreeVO {

    @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Long id;

    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
    private String name;

    @Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Long parentId;

    /**
     * 显示顺序
     */
    private Integer sort = 0;

    /**
     * 是否是叶子节点
     */
//    private boolean leaf;

    /**
     * 类型： dept、user
     */
//    private String type;

    /**
     * 负责人
     * <p>
     * 关联 {@link AdminUserDO#getId()}
     */
    private Long leaderUserId;

    /**
     * 负责人昵称
     * <p>
     * 关联 {@link AdminUserDO#getNickname()}
     */
    private String leaderUserName;

    /**
     * 转派人id
     */
    private Long distributionUserId;

    /**
     * 主安排人姓名
     * <p>
     * 关联 {@link AdminUserDO#getNickname()}
     */
    private String distributionUserName;

    /**
     * 租户编号
     */
    private Long tenantId;

    private String showName;

    /**
     * 子部门列表
     */
    private List<DeptTreeVO> children;
}
